A data storage system typically includes storage devices and one or more network storage servers or storage appliances. A storage server may provide services related to the organization of data on storage devices, such as disks. Some of these storage servers are commonly referred to as filers or file servers. The storage server may be implemented with a special-purpose computer or a general-purpose computer. Such storage systems typically use file systems to organize and provide easy access to the files they contain.
A synthetic file system presents a file system image to applications. Synthetic file systems are commonly used to represent processes, devices, and other system level abstractions that do not have storage requirements. By providing a file system image, these system level abstractions become much easier for applications to manipulate. Examples are the /proc file system present in various Unix and Unix-like systems, /devfs, the Plan9 IPC mechanism, and others.
Physical file systems are backed by disks or other persistent storage media. Physical file systems can also be backed by networks to persistent storage media in the case of Network File System (NFS), Andrew File System (AFS), and similar file systems. A physical storage volume can be made accessible in a physical file system by mounting the storage volume, in which case the operating system designates a directory in the physical file system where the files on the storage volume are to appear. Information about a network connection used to access the physical volume may also be managed by the physical file system.
However, when a large number of volumes are present, mounting such numerous volumes can become unwieldy every application is required to ask each volume server if it recognizes the file handle. Furthermore, system memory, processing time, and other resources are consumed when the system needs to maintain or manage a large number of network connections that are used to access the volumes. Also, the name space for referencing files on this large number of volumes may not be unified, so that not all of the volumes are accessible using a single name space. These factors may increase the amount of resources needed for providing applications with file information or data.